home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / lib / firefox-3.0.14 / chrome / browser.jar / content / browser / safeMode.js < prev    next >
Encoding:
JavaScript  |  2007-08-16  |  3.9 KB  |  103 lines

  1. //@line 39 "/build/buildd/firefox-3.0-3.0.14+build2+nobinonly/build-tree/mozilla/browser/base/content/safeMode.js"
  2.  
  3. function restartApp() {
  4.   var appStartup = Components.classes["@mozilla.org/toolkit/app-startup;1"]
  5.                              .getService(Components.interfaces.nsIAppStartup);
  6.   appStartup.quit(appStartup.eForceQuit | appStartup.eRestart);
  7. }
  8.  
  9. function clearAllPrefs() {
  10.   var prefService = Components.classes["@mozilla.org/preferences-service;1"]
  11.                               .getService(Components.interfaces.nsIPrefService);
  12.   prefService.resetUserPrefs();
  13.  
  14.   // Remove the pref-overrides dir, if it exists
  15.   try {
  16.     var fileLocator = Components.classes["@mozilla.org/file/directory_service;1"]
  17.                                 .getService(Components.interfaces.nsIProperties);
  18.     const NS_APP_PREFS_OVERRIDE_DIR = "PrefDOverride";
  19.     var prefOverridesDir = fileLocator.get(NS_APP_PREFS_OVERRIDE_DIR,
  20.                                            Components.interfaces.nsIFile);
  21.     prefOverridesDir.remove(true);
  22.   } catch (ex) {
  23.     Components.utils.reportError(ex);
  24.   }
  25. }
  26.  
  27. function restoreDefaultBookmarks() {
  28.   var prefBranch  = Components.classes["@mozilla.org/preferences-service;1"]
  29.                               .getService(Components.interfaces.nsIPrefBranch);
  30.   prefBranch.setBoolPref("browser.bookmarks.restore_default_bookmarks", true);
  31. }
  32.  
  33. function deleteLocalstore() {
  34.   const nsIDirectoryServiceContractID = "@mozilla.org/file/directory_service;1";
  35.   const nsIProperties = Components.interfaces.nsIProperties;
  36.   var directoryService =  Components.classes[nsIDirectoryServiceContractID]
  37.                                     .getService(nsIProperties);
  38.   var localstoreFile = directoryService.get("LStoreS", Components.interfaces.nsIFile);
  39.   if (localstoreFile.exists())
  40.     localstoreFile.remove(false);
  41. }
  42.  
  43. function disableAddons() {
  44.   // Disable addons
  45.   const nsIUpdateItem = Components.interfaces.nsIUpdateItem;
  46.   var em = Components.classes["@mozilla.org/extensions/manager;1"]
  47.                      .getService(Components.interfaces.nsIExtensionManager);
  48.   var type = nsIUpdateItem.TYPE_EXTENSION + nsIUpdateItem.TYPE_LOCALE;
  49.   var items = em.getItemList(type, { });
  50.   for (var i = 0; i < items.length; ++i)
  51.     em.disableItem(items[i].id);
  52.  
  53.   // Select the default theme
  54.   var prefB = Components.classes["@mozilla.org/preferences-service;1"]
  55.                         .getService(Components.interfaces.nsIPrefBranch);
  56.   prefB.clearUserPref("general.skins.selectedSkin");
  57. }
  58.  
  59. function restoreDefaultSearchEngines() {
  60.   var searchService = Components.classes["@mozilla.org/browser/search-service;1"]
  61.                                 .getService(Components.interfaces.nsIBrowserSearchService);
  62.  
  63.   searchService.restoreDefaultEngines();
  64. }
  65.  
  66. function onOK() {
  67.   try {
  68.     if (document.getElementById("resetUserPrefs").checked)
  69.       clearAllPrefs();
  70.     if (document.getElementById("resetBookmarks").checked)
  71.       restoreDefaultBookmarks();
  72.     if (document.getElementById("resetToolbars").checked)
  73.       deleteLocalstore();
  74.     if (document.getElementById("disableAddons").checked)
  75.       disableAddons();
  76.     if (document.getElementById("restoreSearch").checked)
  77.       restoreDefaultSearchEngines();
  78.   } catch(e) {
  79.   }
  80.  
  81.   restartApp();
  82. }
  83.  
  84. function onCancel() {
  85.   var appStartup = Components.classes["@mozilla.org/toolkit/app-startup;1"]
  86.                              .getService(Components.interfaces.nsIAppStartup);
  87.   appStartup.quit(appStartup.eForceQuit);
  88. }
  89.  
  90. function onLoad() {
  91.   document.getElementById("tasks")
  92.           .addEventListener("CheckboxStateChange", UpdateOKButtonState, false);
  93. }
  94.  
  95. function UpdateOKButtonState() {
  96.   document.documentElement.getButton("accept").disabled = 
  97.     !document.getElementById("resetUserPrefs").checked &&
  98.     !document.getElementById("resetBookmarks").checked &&
  99.     !document.getElementById("resetToolbars").checked &&
  100.     !document.getElementById("disableAddons").checked &&
  101.     !document.getElementById("restoreSearch").checked;
  102. }
  103.